extends MoveElement


class_name KnockbackElement
"""
产生击退效果
"""


## 重力方向
@export var velocity: Vector2 = Vector2.ZERO
## 衰减系数
@export_range(0, 1.0) var lerp_weight: float = 0
## 速度为0后是否自动释放
@export var is_queue_free: bool = false


func yield_move(delta: float) -> Vector2:
    if not velocity.is_zero_approx():
        velocity = velocity.lerp(Vector2.ZERO, lerp_weight)
    elif is_queue_free:
        queue_free()
    return velocity
